package neuron.library.ga.selection;

import neuron.library.ga.AbstractGeneticMachine;
import neuron.library.ga.common.Population;

/*
 * Base interface for selection strategies.
 */
public abstract class SelectionStrategy {
    
	/*
	 * Instance of AbstractGeneticMachine.
	 */
    protected AbstractGeneticMachine gm;

    /*
	 * CrossoverStrategy constructor.
	 */
    public SelectionStrategy(AbstractGeneticMachine gm) {
        this.gm = gm;
    }
    
    /*
     * Describe which chromosomes will be selected for next generation.
	 * Will be realized in child strategies.
	 */
    public abstract void selection(Population population);

}
